Word processing programs are commonly used to create and edit documents. To create a document using a word processing program, an author typically enters the text of the document using a keyboard. A single keyboard can support multiple character sets so that the author can use a single keyboard to enter different types of characters. For example, the author can use one keyboard to enter both Latin characters and Greek characters. A different keyboard mode is used for each character set. To enter Latin characters, the user selects the Latin keyboard mode by depressing a combination of keys or by selecting an icon corresponding to the Latin keyboard mode. To enter Greek characters, the user selects the Greek keyboard mode by depressing a combination of keystrokes or by selecting an icon that corresponds to the Greek keyboard mode.
The author can switch between keyboard modes so that the author can create a document using Greek characters and then create a document using Latin characters or create a document that uses both Greek characters and Latin characters. There may be times when the author begins entering text assuming that the keyboard is in the Latin keyboard mode, but the keyboard is actually in the Greek keyboard mode. If so, then the text displayed to the author is not what the author intended to enter. To correct the text, the author must either re-enter the text or convert the text. Re-entering the text can be time consuming, especially if the author has entered a substantial amount of text before noticing that the keyboard mode used to enter the text was incorrect. Although converting the text can be less time consuming, converting the text typically requires that the author manually initiate the conversion.
One solution to the keyboard mode problem uses a conversion table to convert the text entered using the incorrect keyboard mode. For example, the "WORD 97" word processing program marketed by Microsoft Corporation of Redmond, Wash. uses a conversion table. The table includes entries that map the characters of one character set to characters of another character set. For example, if the table is used to map Latin characters to Greek characters, then the table includes entries that map Latin characters to Greek characters. A Latin character entered using a particular key on the keyboard is mapped to a Greek character that corresponds to the same key. The author highlights the text that was entered using the incorrect keyboard mode and then initiates the conversion of the text by depressing a combination of keys. The text is converted by looking up each character and then mapping the character to the alternative character listed in the conversion table.
One drawback of the "WORD 97" solution is that it is inflexible. Conversion is only possible if there is an applicable conversion table. In addition, if there is no entry in the conversion table for a character, then the character cannot be converted. Another drawback is that the conversion table requires a substantial amount of computer memory.
If there are more than two keyboard modes available to the user, then a table is required for each conversion. For example, if a single keyboard can be used to enter Latin characters, Greek characters and Cyrillic characters, then multiple tables are needed to support Latin to Greek conversion, Latin to Cyrillic conversion, Greek to Cyrillic conversion, and the corresponding reverse conversions. Yet another drawback is that the author must identify the text that was entered using the incorrect keyboard mode and then manually initiate the conversion.
Accordingly, there is a need in the art for a flexible method for automatically converting text entered using one keyboard mode to text corresponding to another keyboard mode.